﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using IfSoft.OA.Entities;

namespace IfSoft.OA.DataAccess
{
    public interface IRepository<T, TCriteria>
    {
        #region "Basic CRUD operations"

        void Create(T bo);
        void Update(T bo);
        void Delete(int id);

        T SearchById(int id);
        List<T> Search(TCriteria criteria);
        PagedList<T> SearchPagedList(TCriteria criteria);

        #endregion
    }
}
